﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыОперацийАктОтбораПробНоменклатуры
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"576c2b4c-8585-41e8-9ea7-71590c690819\", \"Представление\":\"ДляВнутреннейСертификации\"}")]
		ДляВнутреннейСертификации = 0,//для внутренней сертификации
		[EnumMember(Value = "{\"Ссылка\":\"ad008b49-0e52-4328-9a8e-29383f243034\", \"Представление\":\"ДляВнешнейСертификации\"}")]
		ДляВнешнейСертификации = 1,//для внешней сертификации
	}
	public static partial class ВидыОперацийАктОтбораПробНоменклатуры_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ДляВнутреннейСертификации = new Guid("5971a79e-690c-1908-41e8-8585576c2b4c");//для внутренней сертификации
		public static readonly Guid ДляВнешнейСертификации = new Guid("38298e9a-243f-3430-4328-0e52ad008b49");//для внешней сертификации
		public static ВидыОперацийАктОтбораПробНоменклатуры Получить(this ВидыОперацийАктОтбораПробНоменклатуры Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийАктОтбораПробНоменклатуры Получить(this ВидыОперацийАктОтбораПробНоменклатуры Значение, Guid Ссылка)
		{
			if(Ссылка == ДляВнутреннейСертификации)
			{
				return ВидыОперацийАктОтбораПробНоменклатуры.ДляВнутреннейСертификации;
			}
			else if(Ссылка == ДляВнешнейСертификации)
			{
				return ВидыОперацийАктОтбораПробНоменклатуры.ДляВнешнейСертификации;
			}
			return ВидыОперацийАктОтбораПробНоменклатуры.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийАктОтбораПробНоменклатуры Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийАктОтбораПробНоменклатуры Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийАктОтбораПробНоменклатуры.ДляВнутреннейСертификации: return ДляВнутреннейСертификации;
				case ВидыОперацийАктОтбораПробНоменклатуры.ДляВнешнейСертификации: return ДляВнешнейСертификации;
			}
			return Guid.Empty;
		}
	}
}